Distributed computing systems are often implemented as multiple hardware and/or software servers configured to communicate with one another via message passing, such as over a network. Often, the servers of the distributed applications are logically organized into functional groups called “layers” or “tiers.” For example, a typical distributed application may include a group of servers in a “web tier” that are configured to receive incoming client requests from over a network (e.g., Internet, LAN, other WAN, etc.). The distributed application may also include another group of servers, such as a group comprising a database tier, each configured to service requests for data from the web tier servers. Thus, the web tier servers may be considered clients of the data base servers. In different architectures, servers in upper tiers may request and receive service from servers in lower tiers according to the distributed architecture.
During execution on a distributed system, a situation may arise in which a given server experiences an excessive workload. For example, if the servers in the web tier disproportionately query one of the database tier server, then that one database tier server may become overloaded and cause a performance bottleneck. This overloaded server may be referred as being in a “hotspot” situation.
Various techniques have been developed to redress such load-imbalance situations and mitigate hotspots in distributed systems. For example, adaptive workload scheduling techniques often include a scheduling mechanism to evenly distribute load on the servers in a given tier. However, in some situations, it may not be possible or desirable to adaptively redistribute load across a given tier. In such cases, other hotspot mitigation techniques may be desirable.
While the disclosure is described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that the disclosure is not limited to the embodiments or drawings described. It should be understood that the drawings and detailed description hereto are not intended to limit the disclosure to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present disclosure as defined by the appended claims. Any headings used herein are for organizational purposes only and are not meant to limit the scope of the description or the claims. As used herein, the word “may” is used in a permissive sense (i.e., meaning having the potential to) rather than the mandatory sense (i.e. meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.